Published in:2024-10-24 |

元组

一、什么是元组

  • 元组是一系列不可变的Python对象,元组也是一个序列(容器/可迭代),类似于列表可以存储多个数据。
  • 元组和列表的区别: 元组不能像列表一样修改元素,不能做增删改操作,可以把元组当作一个”只读列表“。
1
2
3
4
5
# 列表是用 [] 表示
n = [2,4,6,8,22]

# 而元组是使用()表示
t = (2,4,6,8,22)

二、元组的创建

  • 直接创建
1
2
3
4
5
6
7
8
9
10
11
12
t = (2,4,6,8,22)  
print(t)

t = () # l = [] 它是一个空列表 t=()它是一个空元组

t = (1)
print(t) # 这不是一个元组

t = (1,) # 如果只有一个元素时,需要在元素后面添加一个逗号

t = 1,2,3 # 省略圆括号
print(t)
  • 工厂函数

    类型名() eg: int() str() list()

1
2
3
4
5
6
7
8
9
10
11
12
13
# 列表
l = list() # 空列表
l = list('helloworld') # 10个元素
l = list([2,3,4]) # 可迭代对象

# 元组
t = tuple() # 空元组

# tuple(iterable) 参数为可迭代对象即可
t = tuple((1,2,3))
t = tuple([1,2,3])
t = tuple('helloworld')
t = tuple(range(10))

三、元组的一些操作

1
2
3
4
5
6
7
8
9
10
t = tuple('helloworld')
print(t[0]) # -> h
print(t[1:5]) # -> ('e', 'l', 'l', 'o')
print(t[-3]) # -> r
t1 = ('Tom',)
t2 = ('Jack',)
t3 = t1 + t2
print(t3) # -> ('Tom', 'Jack')

print(t.index('l'))

四、列表与元组的转换

1
2
3
4
5
6
7
8
9
lst = [2,4,6,8,22]
# 将列表转为元组
t = tuple(lst)
print(t)

# 将元组转为列表
t = (2,4,6,8,22)
lst = list(t)
print(lst)
1
2
3
4
5
# 二维元组
tt = ((1,),(2,))
print(tt)
print(tt[0])
print(type(tt[0]))

不希望容器内的元素被更改时,可以用元组,好处:增加程序的鲁棒性(健壮性)

Prev:
Next: